import request from '@/utils/request'

// 查询模块列表
export function listTable(query) {
  return request({
    url: '/lims/template/table/list',
    method: 'get',
    params: query
  })
}

// 查询模块详细
export function getTable(tableId) {
  return request({
    url: '/lims/template/table/' + tableId,
    method: 'get'
  })
}

export function getModelType(tableId) {
  return request({
    url: '/lims/template/table/modelType/' + tableId,
    method: 'get'
  })
}



// 模板列表接口
export function listTemplate(query) {
  return request({
    url: '/lims/template/table/tableList',
    method: 'get',
    params: query
  })
}
// 新增模块
export function addTable(data) {
  return request({
    url: '/lims/template/table',
    method: 'post',
    data: data
  })
}

// 修改模块
export function updateTable(data) {
  return request({
    url: '/lims/template/table',
    method: 'put',
    data: data
  })
}

// 保存模块数据
export function saveTable(data) {
  return request({
    url: '/lims/template/table/save',
    method: 'put',
    data: data
  })
}

// 保存js数据
export function saveJsTable(data) {
  return request({
    url: '/lims/template/table/saveJs',
    method: 'put',
    data: data
  })
}

// 删除模块
export function delTable(tableId) {
  return request({
    url: '/lims/template/table/delete/' + tableId,
    method: 'delete'
  })
}

// 选择检测方法弹窗中   改变检测类别   获取检测方法列表
export function getMethodListByJclb(query) {
  return request({
    url: '/lims/template/table/methodListByJclb',
    method: 'get',
    params: query
  })
}

// 选择检测方法弹窗中   改变检测类别   获取检测项目列表
export function getMJIdsList(query) {
  return request({
    url: '/lims/template/table/jcxmList',
    method: 'get',
    params: query
  })
}

// 获取检测项目列表
export function getFormulaMethodList(query) {
  return request({
    url: '/lims/template/table/formulaMethodList',
    method: 'get',
    params: query
  })
}

// 获取中间公式
export function getInterFormulaList(query) {
  return request({
    url: '/lims/template/table/formula/interFormulaList',
    method: 'get',
    params: query
  })
}

// 选择检测方法弹窗中   保存检测方法列表
export function postMethodList(data) {
  return request({
    url: '/lims/template/table/saveJclb',
    method: 'post',
    data: data
  })
}

// 获取适用检测项目列表
export function getSuitList(query) {
  return request({
    url: '/lims/template/table/jclbList',
    method: 'get',
    params: query
  })
}

// 获取数据集树
export function dataCollectionTree(modelType) {
  return request({
    url: '/lims/template/table/dataCollectionTree/' + modelType,
    method: 'get',
  })
}

// 查询适用检测项目列表中检测项目数 => 只展示
export function getTemplateJcxmList(query) {
  return request({
    url: '/lims/template/table/templateJcxmList',
    method: 'get',
    params: query
  })
}

// 删除适用检测项目
export function delTableJclb(tJId) {
  return request({
    url: '/lims/template/table/jclb/delete/' + tJId,
    method: 'delete'
  })
}

// 删除适用检测项目
export function delSuitList(tMId,tableId) {
  return request({
    url: '/lims/template/table/method/delete/' + tMId + "/" + tableId,
    method: 'delete'
  })
}

// 获取带有不可用标识的检测类别列表
export function tableJclblist(query) {
  return request({
    url: '/lims/template/table/jclblist',
    method: 'get',
    params: query
  })
}

// 实验室原始记录表适用方法新增保存
export function addMethodTable(data) {
  return request({
    url: '/lims/template/table/method',
    method: 'post',
    data: data
  })
}

// 实验室原始记录表适用方法新增保存
export function editMethodTable(data) {
  return request({
    url: '/lims/template/table/method',
    method: 'put',
    data: data
  })
}

// 实验室原始记录表查询适用方法列表接口
export function getSuitList1(query) {
  return request({
    url: '/lims/template/table/methodList',
    method: 'get',
    params: query
  })
}

// 仪器种类
export function listInstrument(query) {
  return request({
    url: '/lims/template/table/instrumentList',
    method: 'get',
    params: query
  })
}

// 仪器种类新增保存
export function postInstrument(data) {
  return request({
    url: '/lims/template/table/instrument',
    method: 'post',
    data: data
  })
}

// 仪器种类编辑保存
export function putInstrument(data) {
  return request({
    url: '/lims/template/table/instrument',
    method: 'put',
    data: data
  })
}

// 删除仪器种类列表
export function delInstrument(tIId) {
  return request({
    url: '/lims/template/table/instrument/delete/' + tIId,
    method: 'delete'
  })
}

// 获取一起种类下拉框数据 实时搜索
export function getInstrument(query) {
  return request({
    url: '/lims/template/table/instrumentlist',
    method: 'get',
    params: query
  })
}

// 查询模块列表
export function listTableMain(query) {
  return request({
    url: '/lims/template/table/mainTableList',
    method: 'get',
    params: query
  })
}

// 公式管理检测方法
export function listMethod(tableId) {
  return request({
    url: '/lims/template/table/templateMethod/' + tableId,
    method: 'get'
  })
}

// 公式管理检测类别
export function listJclb(methodId) {
  return request({
    url: '/lims/template/table/jclbList/' + methodId,
    method: 'get'
  })
}

// 公式管理公式列表
export function listGs(methodId) {
  return request({
    url: '/lims/template/table/formulaList/' + methodId,
    method: 'get'
  })
}

// 公式弹窗的保存功能
export function formulaSave(data) {
  return request({
    url: '/lims/template/table/formula',
    method: 'post',
    data: data
  })
}

// 公式弹窗的保存功能
export function diyFormulaSave(data) {
  return request({
    url: '/lims/template/table/formula/add',
    method: 'post',
    data: data
  })
}

// 公式列表接口
export function getGsList(query) {
  return request({
    url:'/lims/template/table/formula/list',
    method: 'get',
    params: query
  })
}

// 编辑回显
export function getEditForm(id) {
  return request({
    url:'/lims/template/table/formula/' + id,
    method: 'get',
  })
}

// 公式列表删除
export function delGsList(id) {
  return request({
    url:'/lims/template/table/formula/delete/' + id,
    method: 'delete',
  })
}

// 公式列表全部删除
export function delAllGsList(id) {
  return request({
    url:'/lims/template/table/formula/all/delete/' + id,
    method: 'delete',
  })
}

//  根据模板表查本模板
export function getTableTem(id) {
  return request({
    url:'/lims/template/table/componentList/' + id,
    method: 'get',
  })
}

// 模板库复制
export function tableCopy(id) {
  return request({
    url:'/lims/template/table/copy/' + id,
    method: 'get',
  })
}

// 引用规则查询引用模板
export function getIsChild(query) {
  return request({
    url:'/lims/template/table/isChildTableList',
    method: 'get',
    params: query
  })
}

// 引用规则查询引用字段
export function getIsMain(tableId) {
  return request({
    url:'/lims/template/table/isMainComponentList/' + tableId,
    method: 'get',
  })
}

// 添加引用模板
export function templateComponentRel(data) {
  return request({
    url: '/lims/templateComponentRel',
    method: 'post',
    data: data
  })
}

// 查询引用模板
export function getRuleList(query) {
  return request({
    url:'/lims/templateComponentRel/list',
    method: 'get',
    params: query
  })
}

// 查询引用模板详情
export function getRuleListView(relId) {
  return request({
    url:'/lims/templateComponentRel/' + relId,
    method: 'get',
  })
}

// 引用模板删除
export function delRuleList(relId) {
  return request({
    url:'/lims/templateComponentRel/delete/' + relId,
    method: 'delete',
  })
}

// 引用模板删除
export function delAllRuleList(tableId) {
  return request({
    url:'/lims/templateComponentRel/all/delete/' + tableId,
    method: 'delete',
  })
}

// 查询检测方法级联检测类别
export function methodToJclb(id) {
  return request({
    url: '/lims/template/table/jclbList/' + id,
    method: 'get',
  })
}

// 实时搜素检测项目
export function getJcxmList(query) {
  return request({
    url: '/lims/template/table/searchJcxmList',
    method: 'get',
    params: query
  })
}

// 保存检测项目
export function postJcxmSave(data) {
  return request({
    url: '/lims/templateComponentRel',
    method: 'post',
    data: data
  })
}
//查询指定方法的前处理、检出限
export function queryHandleJcxmList(query) {
  return request({
    url: '/lims/store/method/handleJcxmList',
    method: 'get',
    params: query
  })
}

